Arithmetical circuits may include, in certain implementations, one or more shifters, such as the case in binary and decimal floating point units. An error in such mathematical circuits may occur from multiple sources, including, for instance, particles hitting the circuit, the circuit deteriorating during end of life, variation in physical design processes causing (for example) stuck-at faults, or even design bugs which are unnoticed through production.
One way to protect arithmetic logic is to model the arithmetic as well in modulo (residual) logic. However, shifters are relatively large units, and duplication or increased shifter size to support error detection incurs significant overhead.